package br.net.atasacramental.discurso.model;

import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;

import org.hibernate.annotations.Formula;
import org.hibernate.annotations.GenericGenerator;

@Entity
@Table(name = "DISCURSO")
public class Discurso {

	@Id
	@GenericGenerator(name = "seq_discurso", strategy = "increment")
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_discurso")
	@Column(name = "ID_DISCURSO")
	private Integer idDiscurso;
	@Column(name = "ID_MEMBRO")
	private int idMembro;
	@Column(name = "TEMPO")
	private int tempo;
	@Column(name = "ID_REUNIAO")
	private int idReuniao;
	@Column(name = "TEMA")
	private String tema = "";
	@Column(name = "FONTE")
	private String fonte = "";
	@Column(name = "LINK_FONTE")
	private String linkFonte = "";
	@Formula("(select IFNULL(m.NOME,'') from MEMBRO m where m.ID_MEMBRO = ID_MEMBRO)")
	private String nmMembro;
	@Formula("(select r.MOMENTO from REUNIAO r where r.ID_REUNIAO = ID_REUNIAO)")
	private Date momento;

	public Discurso() {
	}

	public Integer getIdDiscurso() {
		return idDiscurso;
	}

	public void setIdDiscurso(Integer idDiscurso) {
		this.idDiscurso = idDiscurso;
	}

	public String getFonte() {
		return fonte;
	}

	public void setFonte(String fonte) {
		this.fonte = fonte;
	}

	public int getIdMembro() {
		return this.idMembro;
	}

	public void setIdMembro(int idMembro) {
		this.idMembro = idMembro;
	}

	public int getTempo() {
		return this.tempo;
	}

	public void setTempo(int tempo) {
		this.tempo = tempo;
	}

	public int getIdReuniao() {
		return this.idReuniao;
	}

	public void setIdReuniao(int idReuniao) {
		this.idReuniao = idReuniao;
	}

	public String getTema() {
		return this.tema;
	}

	public void setTema(String tema) {
		this.tema = tema.toUpperCase();
	}

	public String getLinkFonte() {
		return linkFonte;
	}

	public void setLinkFonte(String linkFonte) {
		this.linkFonte = linkFonte;
	}

	public String getNmMembro() {
		return nmMembro;
	}

	public void setNmMembro(String nmMembro) {
		this.nmMembro = nmMembro;
	}

	public Date getMomento() {
		return momento;
	}

	public void setMomento(Date momento) {
		this.momento = momento;
	}
	
	
}